package com.ezio.multiwii.helpers;
import java.io.File;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.WindowManager.LayoutParams;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import com.ezio.multiwii.R;
public class FilePickerActivity extends Activity {
Spinner SPFiles;
String extension = "";
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.file_picker_layout);
getWindow().setLayout(LayoutParams.MATCH_PARENT /* width */, LayoutParams.WRAP_CONTENT /* height */);
SPFiles = (Spinner) findViewById(R.id.spinnerFiles);
extension = "mission";
loadFilesNamesToSpinner(extension);
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
}
void FinishAndSendFileName(String fileName) {
Intent returnIntent = new Intent();
returnIntent.putExtra("fileName", fileName);
setResult(RESULT_OK, returnIntent);
finish();
// jezeli nie ma danych zwrotnych
// Intent returnIntent = new Intent();
// setResult(RESULT_CANCELED, returnIntent);
// finish();
}
private void loadFilesNamesToSpinner(String extension) {
File folder = new File(Environment.getExternalStorageDirectory() + "/MultiWiiLogs");
boolean success = false;
if (!folder.exists()) {
success = folder.mkdir();
} else {
success = true;
}
if (success) {
File sdCardRoot = Environment.getExternalStorageDirectory();
File yourDir = new File(sdCardRoot, "MultiWiiLogs");
ArrayList<String> l = new ArrayList<String>();
if (yourDir.listFiles() != null) {
for (File f : yourDir.listFiles()) {
if (f.isFile())
if (f.getName().contains(extension))
l.add(f.getName().replace("." + extension, ""));
}
}
ArrayAdapter aa = new ArrayAdapter(this, android.R.layout.simple_spinner_item, l);
SPFiles.setAdapter(aa);
}
}
public void OpenSelectedFileOnClick(View v) {
if (SPFiles.getCount() > 0)
FinishAndSendFileName(Environment.getExternalStorageDirectory() + "/MultiWiiLogs/" + SPFiles.getSelectedItem().toString() + "." + extension);
}
}